{{ baselayout.dockerStage() }}

{{ docker.from("samson", user="zendesk") }}

{{ environment.general() }}
{{ environment.base() }}
{{ environment.baseApp() }}

###############################################################################
# Bootstrap
###############################################################################

{{ baselayout.copy() }}

RUN set -x \
    {{ bootstrap.debian('jessie') }} \
    {{ docker.cleanup() }}

###############################################################################
# Base
###############################################################################

{{ docker.copy('conf/', '/opt/docker/') }}

RUN set -x \
    {{ ansible.debian() }} \
    {{ docker.cleanup() }}

RUN set -x \
    {{ base.debian() }} \
    {{ provision.runBootstrap() }} \
    {{ docker.cleanup() }}

###############################################################################
# Base-app
###############################################################################

RUN set -x \
    {{ baseapp.debian() }} \
    {{ provision.runBootstrap() }} \
    {{ docker.cleanup() }}

###############################################################################
# Samson
###############################################################################

RUN set -x \
    {{ samsonDeployment.general() }} \
    {{ provision.runBootstrap() }} \
    {{ docker.cleanup() }}

{{ docker.expose('80') }}
{{ docker.volume('/storage') }}

{{ docker.entrypoint("/entrypoint") }}
{{ docker.cmd("supervisord") }}
